package com.zatech.cgnci.project.entity;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 再保人信息表
 * </p>
 *
 * @author Generator
 * @since 2024-12-17
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("cgnci_reinsurer")
@ApiModel(value = "CgnciReinsurerDO对象", description = "再保人信息表")
public class CgnciReinsurerDO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("再保人ID")
    @TableId(value = "reinsurer_id", type = IdType.ASSIGN_ID)
    private Long reinsurerId;

    @ApiModelProperty("分入分出ID")
    private Long reinsuranceId;

    @ApiModelProperty("再保人名称")
    private String reinsurerName;

    @ApiModelProperty("再保人编码")
    private String reinsurerCode;

    @ApiModelProperty("再保人所在地(1-境内, 2-境外),码表值:domestic_andForeign")
    private String insuredLocation;

    @ApiModelProperty("再保人序号")
    private Integer reinsurerSequence;

    @ApiModelProperty("份额比例")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal shareRatio;

    @ApiModelProperty("份额限额")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal shareLimit;

    @ApiModelProperty("手续费率")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal commissionRate;

    @ApiModelProperty("评级")
    private String rating;

    @ApiModelProperty("所属国家/地区,码表值:C00005")
    private String countryRegion;

    @ApiModelProperty("签署日期")
    private Date signingDate;

    @ApiModelProperty("确认状态")
    private String confirmationStatus;

    @ApiModelProperty("分保手续费率")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal procedureRate;

    @ApiModelProperty("分入毛保费")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal engagedGrossPremium;

    @ApiModelProperty("分入手续费")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal engagedCommission;

    @ApiModelProperty("分入净保费")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal engagedNetPremium;

    @ApiModelProperty("分入再保经纪费")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal engagedEconomy;

    @ApiModelProperty("在岸/离岸标志(1-在案;2-离案),码表值:onshoreOffshore")
    private String onshoreOffshoreFlag;

    @ApiModelProperty("再保经纪费")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal totalBrokerFee;

    @ApiModelProperty("结付人(1-再保公司,2-经纪公司),码表值:companyType")
    private String payer;

    @ApiModelProperty("经纪公司")
    private String brokerageFirm;

    @ApiModelProperty("经纪公司编码")
    private String brokerageFirmCode;

    @ApiModelProperty("分保比例")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal insuranceRatio;

    @ApiModelProperty("创建时间")
    private Date createTime;

    @ApiModelProperty("创建人")
    private String createUser;

    @ApiModelProperty("更新时间")
    @TableField(update = "now()")
    private Date updateTime;

    @ApiModelProperty("更新人")
    private String updateUser;


}
